State 裡面。stateFulWidget。statefulWidget 的時候,會看到一個 createState(),這邊他就是開始建立狀態。class MyHomePage extends StatefulWidget {
MyHomePage({Key? key, required this.title}) : super(key: key);
final String title;
@override
_MyHomePageState createState() => _MyHomePageState();
}
mounted 設定為 true,這代表他已經將 state 分配給你的子元件了。mounted == true 的情況下使用 setState() 來更新畫面。因為這個參數是用來確保 State 存在 setState(),也就是說,在 mounted == true 的情況才可以使用 setState()
super.initState()。 @override
void initState() {
super.initState();
// TODO
}
didChangeDependencies 被觸發時, initState() 裡面的方法還未全部執行完成。6.didUpdateWidget(Widget oldWidget)
context 會重新建構元件 。async 的方法。deactivate()。mounted 設定為 false,這代表他已經將 state 從子元件裡面移開了。mounted == false 的情況下使用 setState() 會噴 ERROR。Widget myWidget(){
return Text('title');
}
class MyWidget extends StatelessWidget {
const MyWidget({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Text('title');
}
}

由此圖可知,如果寫成 class 可以透過 flutter inspector 看到自己的 class 名稱(MyWidget),如果是使用 function 的方式的話,只會看到Text。
就看你的習慣是什麼了~只要好閱讀,都是好方法。